package cn.com.cifi.mars.mapper.mars;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import cn.com.cifi.mars.bean.dto.AllProjectIndexDto;
import cn.com.cifi.mars.bean.dto.ProjectCountDto;
import cn.com.cifi.mars.bean.dto.ProjectStagesVersionDto;
import cn.com.cifi.mars.bean.dto.ProjectUnderwayDto;
import cn.com.cifi.mars.bean.dto.ProjectValueDto;
import cn.com.cifi.mars.bean.vo.workBench.ProjectIndexVO;
import cn.com.cifi.mars.entity.MdmProject;

public interface ProjectConsoleMapper{

	List<ProjectStagesVersionDto> selectVersionDataList(@Param("projectList")List<MdmProject> projectList,@Param("taskState")String taskState,@Param("taskType")String taskType,@Param("isDel")int isDel);

	List<MdmProject> selectProjectByDataPermission(@Param("pageDto")Page<MdmProject> pageDto, @Param("projectIds")List<String> projectIds,
			@Param("projectName")String projectName,@Param("isDel")int isDel);

	List<ProjectUnderwayDto> selectUnderwayList(@Param("projectId")String projectId, @Param("states")List<String> states, @Param("isDel")int isDel);

	List<ProjectStagesVersionDto> selectVersionDataListByStageId(@Param("stageId")String stageId,@Param("isDel")int isDel);

	List<ProjectCountDto> selectProjectCountList(@Param("projectIds")List<String> projectIds, @Param("date")String date);

	AllProjectIndexDto selectAllProjectIndex(@Param("projectIds")List<String> projectIds,@Param("date")String date);

	List<ProjectValueDto> selectProjectValueList(@Param("projectList")List<MdmProject> projectList, @Param("date")String date);

	ProjectIndexVO selectProjectIndex(@Param("projectId")String projectId, @Param("date")String date);

	int selectTotalCount(@Param("projectIds")List<String> projectIds, @Param("projectName")String projectName,@Param("isDel")int isDel);

}
